package org.proddevplm.dao.api;

import java.util.List;
import java.util.Map;

import org.proddevplm.dao.data.Project;
import org.proddevplm.dao.data.Roles;
import org.proddevplm.dao.data.User;

public interface IUserMgmt {
	
	int addUser(User user);
	
	boolean updateUser(int userId, User user);
	
	boolean removeUser(int userId);
	
	User getUser(int userId);
	
	List<User> getUsers();
	
	User login(String username, String password);
	
	List<String[]> getUserNames();
	
	Map<Integer, User> getUsersById(String[] usersArray);
	
	List<User> getUsersByProjectId(int projectId);
	
	boolean getUsersByUsername(String username);
	
	boolean addMemberOnProject(Project project, User user, Roles role);
	
	boolean removeUserFromProject(int projectId, int userId, int roleId);

}
